//引入node原生fs模块
const fs = require("fs");
// 引入node内置的path模块
const path = require("path");
//引入node原生读写配置
const ini = require("ini");
/* 执行node命令时候的文件夹地址 */
const node_serve_path = process.cwd();
/* 判断是否是生产环境 */
const isDev = process.env.NODE_ENV === "development";


// 读取配置文件
export function readFile(fpath) {
	//   return new Promise((resolve, reject) => {

	// fs.readFile(fpath, "utf8", function (err, dataStr) {
	//   if (err) return reject(err.message); //读取失败
	/* application.properties  文件内容符合ini配置文件的格式，
	就可以通过ini.parse把读取到的文件转成js可识别的对象 */
	//   resolve(ini.parse(dataStr.toString()));
	// });
	//   });
	var dataStr = fs.readFileSync(fpath, "utf8")
	return ini.parse(dataStr.toString())
}
// 更改配置文件
// export function writeFile(fpath,config) {
//   return new Promise((resolve, reject) => {
//     fs.writeFile(fpath, ini.stringify(config), function (err) {
//       if (err) return reject(err.message); //写入失败
//       resolve("写入成功");
//     });
//   });
// }
export function readAppConfig() {
	/* 需要读写的文件地址 */
	const file_path = isDev
		? path.join(node_serve_path, "/resource/application.properties")
		: path.join(node_serve_path, "/resource/application.properties");
	return readFile(file_path)
}

export function sleep(ms) {
	return new Promise(resolve => {
		setTimeout(resolve, ms * 1000)
	})
}


export function getRandomInt(min, max) {
	return new Promise(resolve => {
		resolve(Math.floor(Math.random() * (max - min + 1)) + min)
	})
};
